package com.linkage.repository.commodity;


import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import com.linkage.pojo.commodity.Book;

/**
 * 商品与mysql数据库连接的数据库接口
 * 
 * @author fujian
 * @version V1.0
 * @createTime 2015/1/28
 * 注释    每个方法的第一行注释指各个方法具体做什么，而第二行注释指参数
 */
@Repository
public interface BookRepository {
	//增加一个图书
	public void save(Book book);
	//更新一本图书
	public void update(Book book);
	//删除一本图书，即将图书下架
	public void delete(@Param("bookId")int bookId);
	//查 根据book_id来查
	public Book select(@Param("bookId")int bookId);
	//查 查看图书是否下架
	public Book isAvailable(@Param("bookId")int bookId);
	//查 根据类目id来查询图书
	public List<Book> listBooks(@Param("categoryId")int categoryId);
	//查看所有可见图书
	public List<Book> allBooks();
	//查 根据书名来查询图书
	public List<Book> searchBookName(@Param("bookName")String bookName);
	//查 根据书名和类目来查询
	public List<Book> searchBookNameAndCategoryId(@Param("bookName")String bookName,@Param("categoryId")int categoryId);
	
	//FIXME    写完repository和mapper。   业务层没弄好
	//查 根据book_id来查询  级联了特价表的book表
	public List<Map<String,Object>> selectBook(@Param("bookId")int bookId);
}
